package com.leetcode;

import java.util.HashSet;
import java.util.Set;

/**
 * 349. 两个数组的交集
 * 使用两个Set简单处理
 *
 * @author fy
 * @date 2022/4/6 9:14
 */
public class Solution349_1 {

    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set1 = new HashSet<>();
        for (int num : nums1) {
            set1.add(num);
        }
        Set<Integer> setInter = new HashSet<>();
        for (int num : nums2) {
            if (set1.contains(num)) {
                setInter.add(num);
                // 不删除已经存在的元素也可以. 因为set里一个元素只会存在一份
                set1.remove(num);
            }
        }
        int[] res = new int[setInter.size()];
        int idx = 0;
        for (Integer num : setInter) {
            res[idx++] = num;
        }
        return res;
    }

}
